package com.ningxia.water.service;

import com.ningxia.water.entity.TsWellWarn;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ningxia.water.vo.out.WarnInfoVo;

import java.util.List;

/**
 *
 * @author hz
 * @since 2021-03-15
 */
public interface ITsWellWarnService extends IService<TsWellWarn> {

    /**
     * 获取因水量超额产生的报警
     * @param warnCode 报警类型
     * @return 报警记录状态
     */
    Integer findByWarnCode(int warnCode);

    /**
     * 获取未处理报警数量
     * @param status
     * @return
     */
    Integer getWarnCountsByStatus(int status);

    /**
     *
     * @param id 报警记录id
     * @param status 报警记录状态
     * @return
     */
    Integer updateByWarnId(Integer id, Integer status);

    /**
     * 查询此机井id下的未处理报警记录总数
     * @param wellId 机井id
     * @return
     */
    Integer getWarnCountsByWellId(Integer wellId);

    /**
     * 获取全部报警记录
     * @return
     */
    List<WarnInfoVo> getWarnInfos();

    /**
     * 通过条件查询报警记录
     * @param applicantName 用水户名称
     * @param wellName 机井名称
     * @param status 报警状态
     * @param startTime 开始时间
     * @param endTime 结束时间
     * @return
     */
    List<WarnInfoVo> findWarnByConditions(String applicantName, String wellName, Integer status, String startTime, String endTime);
}
